package dominio.bean;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.EmbeddedId;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Entity;

@Entity
@Table (name = "FormularioCompraProductos")
public class FormularioCompraProductos implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private FormularioCompraProductoId idFormulario;
	
	@OneToOne (cascade = CascadeType.ALL)
	@JoinColumn (name ="idProducto", referencedColumnName="idProducto")
	private Producto producto;
	
	private String patenteTransporte;
	private Integer dniCliente;
	
	@OneToOne (cascade = CascadeType.ALL)
	@JoinColumn (name ="cuitEmpresaTransporte", referencedColumnName="cuit")
	private EmpresaTransporte empresaTransporte;
	
	private String nombreCliente;	
	private Boolean retiraCliente;
	private Date fechaEstado;
	
	@OneToOne (cascade = CascadeType.ALL)
	@JoinColumns({@JoinColumn(name="idCodigoPostal", referencedColumnName="idCodigoPostal"),
				  @JoinColumn(name="sector", referencedColumnName="sector")})
	private CodigoPostal codigoPostal;
	
	private Boolean liquidado;

	public FormularioCompraProductos() {
		super();
	}

	public FormularioCompraProductoId getIdFormulario() {
		return idFormulario;
	}

	public void setIdFormulario(FormularioCompraProductoId idFormulario) {
		this.idFormulario = idFormulario;
	}

	public Producto getProducto() {
		return producto;
	}

	public void setProducto(Producto producto) {
		this.producto = producto;
	}

	public String getPatenteTransporte() {
		return patenteTransporte;
	}

	public void setPatenteTransporte(String patenteTransporte) {
		this.patenteTransporte = patenteTransporte;
	}

	public Integer getDniCliente() {
		return dniCliente;
	}

	public void setDniCliente(Integer dniCliente) {
		this.dniCliente = dniCliente;
	}

	public EmpresaTransporte getEmpresaTransporte() {
		return empresaTransporte;
	}

	public void setEmpresaTransporte(EmpresaTransporte empresaTransporte) {
		this.empresaTransporte = empresaTransporte;
	}

	public String getNombreCliente() {
		return nombreCliente;
	}

	public void setNombreCliente(String nombreCliente) {
		this.nombreCliente = nombreCliente;
	}

	public Boolean getRetiraCliente() {
		return retiraCliente;
	}

	public void setRetiraCliente(Boolean retiraCliente) {
		this.retiraCliente = retiraCliente;
	}

	public Date getFechaEstado() {
		return fechaEstado;
	}

	public void setFechaEstado(Date fechaEstado) {
		this.fechaEstado = fechaEstado;
	}

	public CodigoPostal getCodigoPostal() {
		return codigoPostal;
	}

	public void setCodigoPostal(CodigoPostal codigoPostal) {
		this.codigoPostal = codigoPostal;
	}

	public Boolean getLiquidado() {
		return liquidado;
	}

	public void setLiquidado(Boolean liquidado) {
		this.liquidado = liquidado;
	}
	
}


